package pkg

import (
	"crypto/md5"
	"encoding/hex"
	"fmt"
	"math/rand"
	"regexp"
	"strconv"
)

// 密码加缪
func Md5String(s string) string {
	h := md5.New()
	h.Write([]byte(s))
	return hex.EncodeToString(h.Sum(nil))
}

// 生成5个随机字符串
func GenerateRandomstring(n int) string {
	// generateRandomString 生成一个指定长度的随机字符串，‌只包含小写字母
	var str = "abcdefghijklmnopqrstuvwxyz"

	result := make([]byte, n)
	for i := range result {
		result[i] = str[rand.Intn(len(str))]
	}
	fmt.Println("生成的随机字符..........", string(result))

	return string(result)
}

// 手机号格式效验
func TelFormat(tel string) bool {
	//teltype := regexp.MatchString(`^1[3-9])[0-9]{9}$`)
	matchString, _ := regexp.MatchString("0?(13|14|15|18)[0-9]{9}", tel)

	return matchString
}

// 用户名验证方法
func UsernameFormat(username string) bool {
	matchString, _ := regexp.MatchString("^[a-zA-Z][a-zA-Z0-9]{3,19}$", username)
	return matchString
}

// 短信验证码生成方法
func Geninitra() string {
	num := rand.Intn(9000) + 1000
	return strconv.Itoa(num)
}
